package com.sw.small_world.openim;

import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Toast;

import com.alibaba.mobileim.aop.Pointcut;
import com.alibaba.mobileim.aop.custom.IMChattingPageUI;
import com.alibaba.mobileim.aop.model.YWChattingPlugin;
import com.alibaba.mobileim.aop.model.YWInputViewPlugin;
import com.alibaba.mobileim.conversation.YWConversation;
import com.sw.small_world.R;

import java.util.List;

/**
 * Created by Administrator on 2017/3/25.
 */

public class ChattingUICustom extends IMChattingPageUI {
    public ChattingUICustom(Pointcut pointcut) {
        super(pointcut);
    }

    /**
     * 修改ChattingReplyBar上的item，可以修改属性或者新增。如果开发者相同类型的会话plugin一样，则可以缓存pluginItems，
     * 在该方法调用时直接用缓存pluginItems替换掉参数中的pluginItems，替换方式为先removeAll，再addAll
     * <p>可以修改的属性包括：
     * <p>顺序</p>
     * <p>是否显示({@link YWInputViewPlugin#setNeedHide(boolean)}),</p>
     * <p>Item对应的View的基本操作,</p>
     * </p>
     * <p>
     * SDK默认按钮的id为：
     * <p>{@link YWChattingPlugin.ReplyBarPlugin#VOICE_VIEW}
     * <p>{@link YWChattingPlugin.ReplyBarPlugin#INPUT_EDIT_TEXT}
     * <p>{@link YWChattingPlugin.ReplyBarPlugin#FACE_VIEW}
     * <p>{@link YWChattingPlugin.ReplyBarPlugin#EXPAND_VIEW}
     * <p>
     * <p/>
     * 如果新增则创建一个{@link YWInputViewPlugin}并添加到replyBarItems。
     *
     * @param conversation ChattingReplyBar所在会话,如果开发者需要可以根据会话类型对ChattingReplyBar的item进行调整
     * @param pluginItems  item列表，初始是包含sdk默认提供的4个item：语音按钮、输入框、表情按钮、”+号“按钮，顺序索引为0,1,2,3
     * @return 使用sdk默认顺序则无需任何操作
     */
    @Override
    public List<YWInputViewPlugin> adjustCustomInputViewPlugins(final Fragment fragment, YWConversation conversation, List<YWInputViewPlugin> pluginItems) {
//        if (pluginItems != null && pluginItems.size() > 0) {
//            //对默认项进行操作，可以使用id判断具体是哪一个
//            for (YWInputViewPlugin plugin : pluginItems) {
//                if (plugin.getId() == YWChattingPlugin.ReplyBarPlugin.VOICE_VIEW) {
////                    plugin.setNeedHide(true);//隐藏语音输入按钮
//                }
//            }
//            //自定义新增的plugin只需要在布局中设置marginLeft即可
//            final View plugin = LayoutInflater.from(fragment.getActivity()).inflate(R.layout.im_inputview_plugin, null);
//            //TODO 新增项id必须从4开始
//            final YWInputViewPlugin pluginToAdd = new YWInputViewPlugin(plugin, 4);
//            plugin.setOnClickListener(new View.OnClickListener() {
//                @Override
//                public void onClick(View v) {
//                    Toast.makeText(fragment.getActivity(), "你点击了Id为:" + pluginToAdd.getId() + "的新增item", Toast.LENGTH_LONG).show();
//                }
//            });
//            pluginToAdd.setIndex(0);//在设置index时，如果新增项和默认pluginItem一样则开发者添加的显示在前
//            pluginItems.add(pluginToAdd);
//        }
        return pluginItems;
    }
}
